package cc.comac.saic.hkhy.jsrj.gj.inttools.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public enum FileType {
    /**
     * 文件类型:
     * hlr_model -> 高层需求模型;
     * hlr_consistency -> 高层需求建模一致性检查报告;
     * archi_model -> 架构模型;
     * control_model -> 控制软件模型;
     * display_model -> 显示软件模型;
     * control_code -> 控制软件模型生成代码;
     * display_code -> 显示软件模型生成代码;
     * impl_code -> 工程代码;
     * test_case -> 测试案例;
     * static_report -> 静态分析报告;
     * instr_code -> 插桩代码;
     * test_report -> 测试报告
     */
    HLR_MODEL("hlr_model", "高层需求模型"),
    HLR_CONSISTENCY("hlr_consistency", "高层需求建模一致性检查报告"),
    ARCHI_MODEL("archi_model", "架构模型"),
    CONTROL_MODEL("control_model", "控制软件模型"),
    DISPLAY_MODEL("display_model", "显示软件模型"),
    CONTROL_CODE("control_code", "控制软件模型生成代码"),
    DISPLAY_CODE("display_code", "显示软件模型生成代码"),
    IMPL_CODE("impl_code", "工程代码"),
    TEST_CASE("test_case", "测试案例"),
    STATIC_REPORT("static_report", "静态分析报告"),
    INSTR_CODE("instr_code", "插桩代码"),
    TEST_REPORT("test_report", "测试报告");


    private final String code;
    private final String name;

    public static FileType getFileTypeByCode(String code) {
        for (FileType fileType : FileType.values()) {
            if (fileType.getCode().equals(code)) {
                return fileType;
            }
        }
        return null;
    }
}
